#include <bits/stdc++.h>
#define int long long 
using namespace std;

const int maxn = 2e5+5;
int arr[maxn];


// 使用双指针
int n;
int calc(int x){
	int l=1, r=n;
	int ans=0;
	while(l<r){ // 注意这里面的条件是 l < r
		while (l < r && arr[l]+arr[r] > x) {
			r--;
		}
		ans += (r-l);
		l++;
	}
	return ans;
}


//void solve(){
//	int L, R;
//	cin >> n >> L >> R;
//	for (int i=1;i<=n;i++) {
//		cin >> arr[i];
//	}
//	// 进行排序
//	sort(arr+1, arr+1+n);
//	
//	cout << calc(R)-calc(L-1) << '\n';
//}



// 使用 二分
void solve(){
	int L, R;
	cin >> n >> L >> R;
	for (int i=1;i<=n;i++) {
		cin >> arr[i];
	}
	// 进行排序
	sort(arr+1, arr+1+n);
	
	int ans = 0;
	for (int i=1;i<=n;i++) {
		int r = lower_bound(arr+i+1, arr+1+n, R+1-arr[i])-arr;
		int l = lower_bound(arr+i+1, arr+1+n, L-arr[i])-arr;
		ans += (r-l);
	}
	cout << ans << '\n';
}

signed main(){
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	int t;
	t=1;
	while(t--){
		//TODO
		solve();
	}
}
